package flex.cc.store.dto.entity;

import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import flex.cc.common.vo.CommonEntity;
import lombok.Data;

/**
 * 
 * @author WANGCONG
 * 2021年12月15日下午12:45:08
 * @desc 服务包表
 */
@Data
@TableName("t_store_package")
public class StorePackageEntity extends CommonEntity{
	
	private static final long serialVersionUID = 1L;
	/**
	 * 主键
	 */
	private String dataId;
	/**
	 * 部分导出时，存储选择的dataId集合
	 */
	private String[] dataIdArr;

	/**
	 * 服务包编码  车服生成 对应多个下有返回的服务包编码
	 */
	private String packageCodeCF;
	
	/**
	 * 服务包编码 
	 */
	private String packageCode;
	
	/**
	 * 服务包名称
	 */
	private String packageName;
	/**
	 * 生效时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date effDate;
	/**
	 * 失效时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date expDate;

	/**
	 * 服务包状态：0-未兑换 1-已兑换 2-已失效  3-已取消
	 */
	private String status;

	/**
	 * 服务包所有者
	 */
	private String owner;
	/**
	 * 卡券数量（服务包生成订单数量）
	 */
	private String couponCount;
	/**
	 * 渠道方
	 */
	private String channel;
	/**
	 * 服务商
	 */
	private String server;
	/**
	 * 服务包创建时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createDate;
	/**
	 * 发送时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date sendDate;
	/**
	 * 核销时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date checkDate;
	/**
	 * 归属订单号
	 */
	private String orderId;
	/**
	 * 绑定车牌号
	 */
	private String carNo;
	/**
	 * 关联的订单号
	 */
	private String orderNo;
	/**
	 * 序列码类型（自营、第三方）
	 */
	private String seqType;
	/**
	 * 关联三方序列码
	 */
	private String seqCode;

//	---- TODO -------
	/**
	 * 用户负责区域查询条件
	 */
	private String[] channelArr;
	private String[] serviceArr;

	/**
	 * 查询条件：起止时间
	 */
	private String startTime;
	private String endTime;

	//有效期
//	private int validPeriod;

	/**
	 * 服务包状态，查询条件支持多选
	 */
	private String[] statusArr;

	//TODO 导出的时间字段处理
	private String packSendDate;
	private String packcheckDate;
    private String packCreateTime;
	private String packEffDate;
    private String packExpDate;
}
